專利名稱::在dsp上利用同步串口輸出異步串口調(diào)試信息的方法
技術領域:
:本發(fā)明涉及數(shù)字信號處理器應用領域內(nèi)在DSP上利用同步串口輸出異步串口調(diào)試信息的方法,更具體地涉及一種在TI公司生產(chǎn)的DSP上利用同步串口McBsp(MultichannelBufferedSerialPort多通道緩沖串行接口)來構建異步串口UART(UniversalAsynchronousReceiver/Transmitter通用異步收發(fā)串口),并用其輸出調(diào)試信息的方法。
背景技術:
:在DSP(DigitalSingnalProcessor數(shù)字信號處理器)芯片的開發(fā)過程中,其調(diào)試信息的輸出一直是一個令人重點關注的問題,特別是在復現(xiàn)和定位問題的時候尤其重要。在DSP開發(fā)的早期可以用仿真器通過jtag口輸出調(diào)試信息,到了產(chǎn)品化階段對于Host-Slave—-主從機模式DSP的調(diào)試信息可以通過主機接口由主機輸出,而對于Standalone——單^4莫式一:l殳采用日志保存的方式,也就是把調(diào)試信息保存在FLASH中。這兩種方式存在著明顯的缺點前者受限于主機接口,如果此通路異常調(diào)試信息則無法正常輸出;后者實效性差,日志需要事后用仿真器讀出。異步串口UART以其方便快捷靈活的特點為許多現(xiàn)代處理器作為調(diào)試信息輸出的首選。另夕卜,DSP的EDMA(EnhancedDirectMemoryAccess增強型直接內(nèi)存存取)在啟動后無需CPU干預即可工作,即使在DSP死沖幾的情況下也是如此。所以基于上述的技術背景,本發(fā)明需要在DSP芯片中,通過現(xiàn)有的同步串口McBsp實現(xiàn)異步串口UART操作。
發(fā)明內(nèi)容本發(fā)明要解決的技術問題是提供一種在DSP上利用同步串口McBsp輸出異步串口UART調(diào)試信息的方法。對McBsp的管腳和時鐘估支一些改動和配置,使其符合UART的傳輸時序從而構建出異步串口;將一些關鍵信息集中打印到McBsp的發(fā)送緩沖區(qū)中,由EDMA負責從McBsp也就是構建的UART(DSP外看到的)輸出。為了解決上述問題,本發(fā)明提供了一種在DSP上利用同步串口輸出異步串口調(diào)試信息的方法,利用同步串口與異步串口的數(shù)據(jù)幀的結(jié)構對應關系,以及同步串口的位時鐘與異步串口的波特率的對應關系,構造出異步串口數(shù)據(jù)幀;同時對DSP上同步串口的幀同步和發(fā)送數(shù)據(jù)的管腳進行邏輯與操作,并對其輸出值進行擴展,使其符合異步串口時序,輸出異步串口調(diào)試信息。進一步的,本發(fā)明所述的方法,其特征在于,所述同步串口,包括McBsp;所述異步串口,包括UART;進一步的,本發(fā)明所述的方法,其特征在于,所述同步串口McBsp數(shù)據(jù)幀結(jié)構,包括l比特的低電平幀同步、以及6至12比特的McBsp同步幀,其位時鐘與UART的波特率同頻;進一步的,本發(fā)明所述的方法,其特征在于,所述異步串口UART數(shù)據(jù)幀結(jié)構,包括1比特起始位、5至8比特數(shù)據(jù)位、1比特可選的奇偶校驗位,以及0.5比特或者1至2比特停止位;進一步的,本發(fā)明所述的方法,其特征在于,所述異步串口UART與同步串口McBsp的數(shù)據(jù)幀的結(jié)構對應關系,包括l比特的〗氐電平幀同步,對應UART的1比特起始位;6至12比特的McBsp同步幀,對應UART的5至8比特數(shù)據(jù)位、1比特可選的奇偶校驗位、以及0.5比特或者1至2比特停止位;進一步的,本發(fā)明所述的方法,其特征在于,所述同步串口McBsp的位時鐘與異步串口UART的波特率的對應關系,包括同步串口McBsp的位時鐘與異步串口UART的波特率的同頻;進一步的,本發(fā)明所述的方法,其特征在于,所述構造異步串口數(shù)據(jù)頻關系、以及所述兩種串口的數(shù)據(jù)幀的結(jié)構對應關系,采用展寬同步時鐘方法,通過提高同步串口McBsp的位時鐘為原來的8倍,獲得了與異步串口UART起始位相同寬度的幀同步;進一步的,本發(fā)明所述的方法,其特征在于,所述同步串口McBsp的位時鐘,由DSP主時鐘分頻獲得,此時幀同步的寬度為串口數(shù)據(jù)字寬的倍數(shù);進一步的,本發(fā)明所述的方法,其特征在于,所述對輸出值進行擴展,包括在輸出值的前端加入8比特的0數(shù)據(jù),后端加入8比特的1數(shù)據(jù)。采用本發(fā)明所述方法,與現(xiàn)有技術相比,克服了DSP實際過程中沒有調(diào)試信息輸出通道的弊端,提供穩(wěn)定可靠的調(diào)試輸出通道;時效性性好,可以捕捉DSP出現(xiàn)異常時的狀態(tài),提供定位問題的線索;UART波特率可以更改,方便用戶使用。圖1是DSP系統(tǒng)中Host-Slave模式的設計示意圖;圖2是DSP系統(tǒng)中Standalone模式的設計示意圖;圖3是UART串口時序和McBsp時序的對應關系示意圖;圖4是本發(fā)明實施例中構造UART異步串口的示意圖;圖5是本發(fā)明實施例中數(shù)據(jù)擴展過程的示意圖;圖6是本發(fā)明實施例中在DSP上利用同步串口McBsp構造異步串口UART來輸出調(diào)試信息的結(jié)構示意圖;圖7是圖6所示的本發(fā)明實施例的工作流程圖。具體實施例方式本發(fā)明為了解決傳統(tǒng)技術方案存在的弊端,通過以下具體實施例進一步闡述本發(fā)明所述的一種在DSP上利用同步串口McBsp輸出異步串口UART調(diào)試信息的方法,以下對具體實施方式進行詳細描述,^f旦不作為對本發(fā)明的限定。如圖1所示,為DSP系統(tǒng)中Host-Slave模式的設計示意圖。其中101是帶有網(wǎng)口103的HOST芯片,在開發(fā)初期DSP102通過Jtag104輸出調(diào)試信息,產(chǎn)品化后調(diào)試信息通過主機接口由HOST101負責輸出。如圖2所示,為DSP系統(tǒng)中Standalone模式的設計示意圖。在開發(fā)初期DSP201通過Jtag202輸出調(diào)試信息,產(chǎn)品化后調(diào)試信息一4殳采用保存曰志的方法,日志保存在FLASH存儲介質(zhì)203中。如圖3所示,為UART串口時序和McBsp時序的對應關系示意圖。其中,301是UART串口的時序圖,UART—幀數(shù)據(jù)由lbit低電平的起始位、58bit數(shù)據(jù)位、lbit可選的奇偶校驗位、l~2bit高電平的停止位(本例為lbit)組成;302304是對應的McBsp時序,其中302是位時鐘,與UART的波特率同頻;303是幀同步信號,低電平lbit寬,高電平n+2bit寬(『58);304是一幀McBsp數(shù)據(jù),寬度為mbit(m=n+3)??梢?,完整的一幀UART數(shù)據(jù)由lbit起始位、58bit數(shù)據(jù)位、lbit可選的奇偶校驗位、12bit(可取0.5bit)停止位組成。這樣的數(shù)據(jù)幀結(jié)構對于McBsp而言,可以解釋為包含lbit低電平幀同步(起始位)、612數(shù)據(jù)(數(shù)據(jù)位+奇偶校驗位+停止位)的McBsp同步幀,位時鐘與UART的波特率同頻。如圖4所示,為本發(fā)明實施例中構造UART異步串口的示意圖,以lbit起始位、8bit數(shù)據(jù)位、無奇偶校驗位、lbit停止位的UART為例。其中,401是DSP上McBsp的管腳配置,對DSP上McBsp的幀同步與發(fā)送數(shù)據(jù)的管腳進行邏輯與操作;402是401中經(jīng)過與門后得到信號即構造的UART信號;位時鐘403是與URAT波特率同頻的時鐘;位時鐘404由DSP的主時鐘分頻得到并作為McBsp模塊的時鐘源,此時幀同步寬度必須要保證是串口數(shù)據(jù)字寬的倍數(shù),比如8bit寬的數(shù)據(jù),幀同步寬度應該是8bit寬;405是符合UART時序的幀同步輸出,低電平有效;406是經(jīng)過擴展的數(shù)據(jù),byte0byte7中每個byte實際對應lbyte的數(shù)據(jù),每個byte要么是全O要么是全1,在這8byte之前添加1個全0的byte,之后添加1個全1的byte,以構成UART的時序。如圖5所示,是本發(fā)明實施例中數(shù)據(jù)擴展過程的示意圖。以字符串HelloWorld!中的H為例,演示了數(shù)據(jù)的擴展過程以及最終在緩沖區(qū)中需要存儲的數(shù)據(jù),H的ASCII碼為0x48,對應二進制數(shù)為OlOOlOOOb。擴展后的數(shù)據(jù)在存入緩沖區(qū)前還需擴展的起始位和停止位。也就是說每表征一個原始字符,需要在緩沖區(qū)中分配10byte的存儲空間。如圖6所示,是本發(fā)明實施例中在DSP上利用同步串口McBsp構造異步串口UART來輸出調(diào)試信息的結(jié)構示意圖。由利用同步串口McBsp構建UART的DSP501、電平轉(zhuǎn)換器件502、連接PC機和UART口的DB9電纜、調(diào)試信息的顯示終端PC才幾504組成。在DSP501中各個重要信息收集模塊負責收集需要輸出的調(diào)試信息,經(jīng)過數(shù)據(jù)擴展后送至McBsp的緩沖區(qū),由EDMA負責從構造好的UART口輸出;在向PC機串口輸入之前,需要經(jīng)過電平轉(zhuǎn)換器件502,把CMOS電平轉(zhuǎn)換為RS232電平;然后經(jīng)過電平轉(zhuǎn)換之后的引線接至DB9連接電纜503;最后送至調(diào)試信息的顯示終端PC機504。501中的GPIO引腳的輸入作為UART波特率預設值,在DSP初始化時讀入,GPIOl~0的值與UART波特率以及McBsp位時鐘的關系如下表<table>tableseeoriginaldocumentpage9</column></row><table>上表中,采用展寬同步時鐘的方法,即提高位時鐘的方法位時鐘提高為原來的8倍;這樣原有l(wèi)bit的數(shù)據(jù),需要展寬為8bit,0變?yōu)?bit0(0x00),1變?yōu)?bit1(0xFF)。從DSP內(nèi)側(cè)看,依然是同步串口McBsp,而在DSP外面看來,就是UART串口,發(fā)送端就l條線。PC機504也可以通過DB9電纜向DSP501發(fā)送改變波特率的命令,以期達到動態(tài)改變波特率的目的。如圖7所示,是圖6所示的本發(fā)明實施例的工作流程圖。包括以下步驟步驟601,DSP先讀入GPIO輸入引腳的值,計算出對應的McBsp位時鐘、幀同步頻率;步驟602,根據(jù)計算出的時鐘、幀同步頻率,配置McBsp清空發(fā)送緩沖區(qū),啟動McBsp。此時由于沒有信息收集到發(fā)送緩沖區(qū),在DSP外構造好的UART口上只能得到只有起始位和停止位、數(shù)據(jù)位全空的信號;步驟603,DSP在運行過程中,會有多個重要信息收集點收集收集調(diào)試信息,這些信息包括棧、重要寄存器等;步驟604,調(diào)試信息經(jīng)過字符串化、擴展拼裝后,送至發(fā)送緩沖區(qū)。緩沖區(qū)因為是定時輸出,而調(diào)試信息不是定時寫入的,因此信息輸出不是均勻的。在緩沖區(qū)切換的時間間隔內(nèi),如果沒有新的調(diào)試信息寫入,會重復發(fā)送緩沖區(qū)中的信息。利用這個特性,可以捕捉DSP異常時的狀態(tài),提供定位問題的線索;步驟605,拼裝好后的調(diào)試信息通過構造好的UART口輸出,實際上就是發(fā)送數(shù)據(jù)與McBsp的幀同步信號進行與操作;步驟606,UART口輸出作電平轉(zhuǎn)換送至DB9電纜;步驟607,DB9電纜把調(diào)試信息送PC機顯示,需要在顯示前把一些冗余的空信息剔除。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術人員可根據(jù)本發(fā)明做出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。權利要求1、一種在DSP上利用同步串口輸出異步串口調(diào)試信息的方法,其特征在于,利用同步串口與異步串口的數(shù)據(jù)幀的結(jié)構對應關系,以及同步串口的位時鐘與異步串口的波特率的對應關系,構造出異步串口數(shù)據(jù)幀;同時對DSP上同步串口的幀同步和發(fā)送數(shù)據(jù)的管腳進行邏輯與操作,并對其輸出值進行擴展,使其符合異步串口時序,輸出異步串口調(diào)試信息。2、如權利要求1所述的方法,其特征在于,所述同步串口,包括McBsp;所述異步串口,包括UART。3、如權利要求2所述的方法,其特征在于,所述同步串口McBsp數(shù)據(jù)幀結(jié)構,包括1比特的低電平幀同步、以及6至12比特的McBsp同步幀,其位時鐘與UART的波特率同頻。4、如權利要求3所述的方法,其特征在于,所述異步串口UART數(shù)據(jù)幀結(jié)構,包括1比特起始位、5至8比特數(shù)據(jù)位、1比特可選的奇偶校驗位,以及0.5比特或者1至2比特停止位。5、如權利要求4所述的方法,其特征在于,所述異步串口UART與同步串口McBsp的凄t據(jù)幀的結(jié)構對應關系,包括1比特的低電平幀同步,對應UART的1比特起始位;6至12比特的McBsp同步幀,對應UART的5至8比特凄t據(jù)位、1比特可選的奇偶校驗位、以及0.5比特或者1至2比特停止位。6、如權利要求5所述的方法,其特征在于,所述同步串口McBsp的位時鐘與異步串口UART的波特率的對應關系,包括同步串口McBsp的位時鐘與異步串口UART的波特率的同頻。7、如權利要求6所述的方法,其特征在于,所述構造異步串口數(shù)據(jù)幀,包括根據(jù)上述同頻關系、以及所述兩種串口的數(shù)據(jù)幀的結(jié)構對應關系,采用展寬同步時鐘方法,通過提高同步串口McBsp的位時鐘為原來的8倍,獲得了與異步串口UART起始位相同寬度的幀同步。8、如權利要求7所述的方法,其特征在于,所述同步串口McBsp的位時鐘,由DSP主時鐘分頻獲得,此時幀同步的寬度為串口數(shù)據(jù)字寬的倍數(shù)。9、如權利要求2所述的方法,其特征在于,所述對輸出值進行擴展,包括在輸出值的前端加入8比特的0數(shù)據(jù),后端加入8比特的1數(shù)據(jù)。全文摘要本發(fā)明公開了一種在DSP上利用同步串口輸出異步串口調(diào)試信息的方法,利用同步串口與異步串口的數(shù)據(jù)幀的結(jié)構對應關系,以及同步串口的位時鐘與異步串口的波特率的對應關系,構造出異步串口數(shù)據(jù)幀;同時對DSP上同步串口的幀同步和發(fā)送數(shù)據(jù)的管腳進行邏輯與操作,并對其輸出值進行擴展,使其符合異步串口時序,輸出異步串口調(diào)試信息。與現(xiàn)有技術相比,克服了DSP實際過程中沒有調(diào)試信息輸出通道的弊端,提供穩(wěn)定可靠的調(diào)試輸出通道;時效性性好,可以捕捉DSP出現(xiàn)異常時的狀態(tài),提供定位問題的線索;UART波特率可以更改,方便用戶使用。文檔編號G06F11/10GK101131658SQ20071013874公開日2008年2月27日申請日期2007年8月13日優(yōu)先權日2007年8月13日發(fā)明者鵬丁,丁元欣,華李,柴作朋,祁曉璐,軍苗申請人:中興通訊股份有限公司